本书的结构
本书包括六个部分:
导论:
第1~3章给出的是有关C++语言,它所支持的关键性程序设计风格,以及有关C++标准库的综述。
第1章 致读者 第2章 C++ 概览 第3章 标准库概览
第1章是对全书的综述。这里提供了一些有关如何使用C++的建议,以及一些有关C++及其应用的背景性信息。你应该大略地读一读这一章,先注意读那些看起来有意思的内容,在读了本书的其他一些部分之后再回来读一读。
第2章和第3章是有关C++程序设计语言及其标准库的主要概念和特征的综述。这两章的目的是促使你在基础性概念和基本语言特征上用一些时间,在这里展示了利用完整的C++语言可以描述些什么。即使没有其他内容,这两章也会使你确信C++并不(只)是C。
第2章给出了有关C++的一个高层次的认识,其中的讨论集中在那些支持数据抽象、面向对象的程序设计和通用型程序设计的语言特征方面。
第3章介绍了标准库的基本原理和主要功能,这也使我可以在随后的章节里使用标准库,也使你能在练习中利用各种库功能,而不是去直接依靠低级的内部特征。
第一部分:基本功能
第4~9章是有关C++内部类型,以及由它们出发构造程序的基本功能的一个具有教材形式的介绍。
第4章 类型和声明 第5章 指针、数组和结构 第6章 表达式和语句 第7章 函数 第8章 名字空间和异常 第9章 源文件和程序
第一部分描述的是C++的一个子集,它支持传统上在C或Pascal里进行的那种风格的程序设计。这里的内容覆盖了基本类型、表达式、以及C++程序的控制结构。也讨论了由名字空间、源程序文件和异常处理所支持的模块化问题。本书假定你已熟悉在第一部分中用到的那些基本程序设计概念。例如,我将解释C++中表述循环和递归的功能,但却不去花许多时间解释为什么这些概念非常有用。
这一部分描述C++的内部类型以及由它们出发构造程序的基本功能。在这里介绍的是C++的C子集,再加上C++对传统程序设计风格的进一步支持,还要讨论为通过若干逻辑的和物理的部分组合产生C++程序而提供的一些基本功能。
第二部分:抽象机制
第10~15章是有关使用C++做面向对象和通用型程序设计的一个具有教材形式的介绍。
第10章 类
第11章 运算符重载
第12章 派生类
第13章 模板
第14章 异常处理
第15章 类层次结构
第二部分描述C++里定义和使用新类型的功能。具体的和抽象的类(界面)都在这里讨论(第10、12章),还有运算符重载(第11章),多态性,以及类层次结构的使用(第12、15章)。第13章讨论模板,也就是在C++里定义一族类型或函数的机制。这里阐述了提供容器(例如表),以及支持通用型程序设计的那些基本技术。第14章描述异常处理,讨论对错误处理,说明有关容错的策略等。假定你或者是不很熟悉面向对象程序设计和通用型程序设计,或者是能从有关C++怎样支持主要的数据抽象技术的解释中获益。正因如此,我将不仅描述支持这些抽象技术的语言特征,也要解释这些技术本身。第四部分将在这个方向上继续前进。
第三部分:标准库
第16~22章介绍C++的标准库。
第16章 库组织和容器
第17章 标准容器
第18章 算法和函数对象
第19章 迭代器和分配器
第20章 串
第21章 流
第22章 数值
第三部分描述C++标准库。这里的目标是为如何使用这个库提供一种解释,阐述一般性的设计和编程技术,也说明如何去扩充这个库。标准库提供了容器(如list、vector和map;第16、17章),标准算法(如sort、find和merge;第18、19章),字符串(第20章),输入输出(第21章),以及对数值计算的支持(第22章)。
第四部分:用C++ 做设计
第23~25章讨论设计和软件开发方面的一些论题。
第23章 开发和设计
第24章 设计和编程
第25章 类的作用
第四部分讨论的是在把C++用于大型软件系统的设计和实现时所引出的论题。第23章集中于设计和管理方面,第24章讨论C++程序设计语言和设计问题之间的关系,第25章给出将类应用于设计的一些方法。
附录和索引
附录A~E提供了语言的技术性细节。
附录A 语法
附录B 兼容性
附录C 技术细节
附录D 现场
附录E 标准库的异常时安全性
附录A是C++的语法描述,带有少量的标注。
附录B讨论C和C++,以及标准C++(也称为ISO C++或ANSI C++)和在此之前的C++版本之间的关系。
附录C描述一些语言技术实例。
附录D解释标准库中支持国际化的功能。
附录E讨论标准库在异常时安全性方面的保证和要求。
🔚